package cn.iocoder.yudao.hires.vo;

import cn.iocoder.yudao.framework.common.util.json.databind.TimestampLocalDateTimeSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "管理后台 - 简历-用户基本信息新增/修改 Request VO")
@Data
public class ResumeUserSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "21486")
    private Integer id;

    @Schema(description = "用户主键", example = "8229")
    private Integer userId;

    @Schema(description = "简历_用户名称", example = "张三")
    private String name;

    @Schema(description = "简历_用户性别")
    private Integer sex;

    @Schema(description = "简历_用户生日")
    @JsonSerialize(using = TimestampLocalDateTimeSerializer.class) // 解决 iot plugins 序列化 LocalDateTime 是数组，导致无法解析的问题
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDate birthday;

    @Schema(description = "简历_用户所在城市")
    private String city;

    @Schema(description = "简历_用户工作经验")
    private Integer workExperience;

    @Schema(description = "简历_用户工作经验")
    private String workExperienceName;

    @Schema(description = "简历_用户学历")
    private String degree;

    @Schema(description = "简历_用户电话")
    private String phone;

    @Schema(description = "简历_用户邮箱")
    private String mailbox;

}